home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Graphismes / 3D / POV-Ray 3.0B5a PPC / POV-Ray 3.0B5a / POVSCN.Scenes / POVSCN / LEVEL3 / FISH13 / FISH.INC < prev    next >
Text File  |  1995-12-13  |  30KB  |  1,191 lines

  1. // Persistence Of Vision raytracer version 3.0 sample file.
  2.  
  3. //----------- one fish include....3/13/92 M.Miller
  4.  
  5. #declare Fish_Inc_Temp = version
  6. #version 1.0
  7.  
  8. /*------------ FISH SKIN-----------------------*/
  9. #declare YourTexture =
  10. texture {
  11.    image_map { <1 -1 0> gif "finskin2.gif"  }
  12.    scale <100 60 1> translate <-50 -30 -1>
  13.    ambient  0.2 diffuse 0.5 phong 1.0 phong_size 80
  14. }
  15.  
  16. /*------------- CTDS INFO -----------------------*/
  17. #declare Dot = sphere { 0, 1 }
  18.  
  19. #declare Connector_1 = cylinder { -x, x, 1 }
  20.  
  21. // Infinite cone in Y axis, rotated to X axis
  22. #declare Connector_2 =
  23. quadric {
  24.    < 1.0 -1.0  1.0>
  25.    < 0.0  0.0  0.0>
  26.    < 0.0  0.0  0.0>
  27.    0.0
  28.    rotate < 0.0  0.0  90.0>
  29. }
  30.  
  31. /*------------ START THE BODY CURVES OF FISH-----------*/
  32. #declare YourThing1 =
  33. union {
  34.    object {
  35.       union {
  36.          difference {
  37.             union {
  38.                object {
  39.                   Dot
  40.                   scale     < 7.000000  7.000000  7.000000>
  41.                   translate <-37.000010 -8.000000  0.000000>
  42.                }
  43.  
  44.                object {
  45.                   Dot
  46.                   scale     < 7.600000  7.600000  7.600000>
  47.                   translate <-35.005830 -8.066590  0.000000>
  48.                }
  49.  
  50.                object {
  51.                   Dot
  52.                   scale     < 8.200000  8.200000  8.200000>
  53.                   translate <-33.011630 -8.000770  0.000000>
  54.                }
  55.  
  56.                object {
  57.                   Dot
  58.                   scale     < 8.800000  8.800000  8.800000>
  59.                   translate <-31.026180 -7.802830  0.000000>
  60.                }
  61.  
  62.                object {
  63.                   Dot
  64.                   scale     < 9.400000  9.400000  9.400000>
  65.                   translate <-29.058240 -7.473640  0.000000>
  66.                }
  67.  
  68.                object {
  69.                   Dot
  70.                   scale     < 10.000000  10.000000  10.000000>
  71.                   translate <-27.116460 -7.014650  0.000000>
  72.                }
  73.  
  74.                object {
  75.                   Dot
  76.                   scale     < 10.600000  10.600000  10.600000>
  77.                   translate <-25.209400 -6.427880  0.000000>
  78.                }
  79.  
  80.                object {
  81.                   Dot
  82.                   scale     < 11.200000  11.200000  11.200000>
  83.                   translate <-23.345460 -5.715910  0.000000>
  84.                }
  85.  
  86.                object {
  87.                   Dot
  88.                   scale     < 11.800000  11.800000  11.800000>
  89.                   translate <-21.532840 -4.881880  0.000000>
  90.                }
  91.  
  92.  
  93.                object {
  94.                   Dot
  95.                   scale     < 12.400000  12.400000  12.400000>
  96.                   translate <-19.779530 -3.929470  0.000000>
  97.                }
  98.  
  99.                object {
  100.                   Dot
  101.                   scale     < 13.000000  13.000000  13.000000>
  102.                   translate <-18.093250 -2.862860  0.000000>
  103.                }
  104.  
  105.                object {
  106.                   Dot
  107.                   scale     < 12.720000  12.720000  12.720000>
  108.                   translate <-16.763390 -1.988050  0.000000>
  109.                }
  110.  
  111.                object {
  112.                   Dot
  113.                   scale     < 12.440000  12.440000  12.440000>
  114.                   translate <-15.398940 -1.168230  0.000000>
  115.                }
  116.  
  117.                object {
  118.                   Dot
  119.                   scale     < 12.160000  12.160000  12.160000>
  120.                   translate <-14.002160 -0.404780  0.000000>
  121.                }
  122.  
  123.                object {
  124.                   Dot
  125.                   scale     < 11.880000  11.880000  11.880000>
  126.                   translate <-12.575390  0.301040  0.000000>
  127.                }
  128.  
  129.                object {
  130.                   Dot
  131.                   scale     < 11.600000  11.600000  11.600000>
  132.                   translate <-11.121010  0.948050  0.000000>
  133.                }
  134.  
  135.                object {
  136.                   Dot
  137.                   scale     < 11.320000  11.320000  11.320000>
  138.                   translate <-9.641440  1.535170  0.000000>
  139.                }
  140.  
  141.                object {
  142.                   Dot
  143.                   scale     < 11.040000  11.040000  11.040000>
  144.                   translate <-8.139140  2.061410  0.000000>
  145.                }
  146.  
  147.                object {
  148.                   Dot
  149.                   scale     < 10.760000  10.760000  10.760000>
  150.                   translate <-6.616620  2.525920  0.000000>
  151.                }
  152.  
  153.                object {
  154.                   Dot
  155.                   scale     < 10.480000  10.480000  10.480000>
  156.                   translate <-5.076400  2.927910  0.000000>
  157.                }
  158.             }
  159.  
  160.             //----------------- chops off front face & hollow mouth
  161.             plane { < 1 0 0 > 0 translate <-30 -10 0> rotate <0 0 45>   }
  162.             object { Ellipsoid scale <10 10 10> translate <-27 -7 0>  }
  163.          }
  164.  
  165.          //---------------- add chin
  166.  
  167.  
  168.          union {
  169.             difference {
  170.                object { Ellipsoid scale <11 11 11>  }
  171.                plane { <0 1 0> 0 inverse translate <0 -7 0> rotate <0 0 23>  }
  172.                translate <-30 -6 0>
  173.             }
  174.             //----------------- lower lip
  175.             difference {
  176.                cylinder { <0, 0, 0>, y, 1 scale <11 1.5 9> rotate <0 0 23> translate <-29 -14 0>  }
  177.                object { Ellipsoid scale <8.5 8.5 8.5> translate <-31 -7 0>  }
  178.             }
  179.          }
  180.       }
  181.       texture { YourTexture  }
  182.  
  183.    }
  184. }
  185.  
  186. #declare YourThing3 =
  187. union {
  188.    object {
  189.          Dot
  190.          scale     < 10.200000  10.200000  10.200000>
  191.          translate <-3.521070  3.266700  0.000000>
  192.       texture {
  193.          YourTexture
  194.       }
  195.    }
  196.    object {
  197.          Dot
  198.          scale     < 9.920000  9.920000  9.920000>
  199.          translate <-1.953210  3.541750  0.000000>
  200.       texture {
  201.          YourTexture
  202.       }
  203.    }
  204.    object {
  205.          Dot
  206.          scale     < 9.640000  9.640000  9.640000>
  207.          translate <-0.375430  3.752580  0.000000>
  208.       texture {
  209.          YourTexture
  210.       }
  211.    }
  212.    object {
  213.          Dot
  214.          scale     < 9.360000  9.360000  9.360000>
  215.          translate < 1.209640  3.898860  0.000000>
  216.       texture {
  217.          YourTexture
  218.       }
  219.    }
  220.    object {
  221.          Dot
  222.          scale     < 9.080000  9.080000  9.080000>
  223.          translate < 2.799360  3.980320  0.000000>
  224.       texture {
  225.          YourTexture
  226.       }
  227.    }
  228.    object {
  229.          Dot
  230.          scale     < 8.800000  8.800000  8.800000>
  231.          translate < 4.391080  3.996850  0.000000>
  232.       texture {
  233.          YourTexture
  234.       }
  235.    }
  236.    object {
  237.          Dot
  238.          scale     < 8.520000  8.520000  8.520000>
  239.          translate < 5.982150  3.948410  0.000000>
  240.       texture {
  241.          YourTexture
  242.       }
  243.    }
  244.    object {
  245.          Dot
  246.          scale     < 8.240000  8.240000  8.240000>
  247.          translate < 7.569910  3.835070  0.000000>
  248.       texture {
  249.          YourTexture
  250.       }
  251.    }
  252.    object {
  253.          Dot
  254.          scale     < 7.960000  7.960000  7.960000>
  255.          translate < 9.151730  3.657040  0.000000>
  256.       texture {
  257.          YourTexture
  258.       }
  259.    }
  260.    object {
  261.          Dot
  262.          scale     < 7.680000  7.680000  7.680000>
  263.          translate < 10.724970  3.414610  0.000000>
  264.       texture {
  265.          YourTexture
  266.       }
  267.    }
  268.    object {
  269.          Dot
  270.          scale     < 7.400000  7.400000  7.400000>
  271.          translate < 12.287000  3.108170  0.000000>
  272.       texture {
  273.          YourTexture
  274.       }
  275.    }
  276.  
  277. }
  278. #declare YourThing4 =
  279. union {
  280.    object {
  281.          Dot
  282.          scale     < 7.120000  7.120000  7.120000>
  283.          translate < 13.835220  2.738250  0.000000>
  284.       texture {
  285.          YourTexture
  286.       }
  287.    }
  288.    object {
  289.          Dot
  290.          scale     < 6.840000  6.840000  6.840000>
  291.          translate < 15.367060  2.305460  0.000000>
  292.       texture {
  293.          YourTexture
  294.       }
  295.    }
  296.    object {
  297.          Dot
  298.          scale     < 6.560000  6.560000  6.560000>
  299.          translate < 16.879960  1.810510  0.000000>
  300.       texture {
  301.          YourTexture
  302.       }
  303.    }
  304.    object {
  305.          Dot
  306.          scale     < 6.280000  6.280000  6.280000>
  307.          translate < 18.371410  1.254240  0.000000>
  308.       texture {
  309.          YourTexture
  310.       }
  311.    }
  312.    object {
  313.          Dot
  314.          scale     < 6.000000  6.000000  6.000000>
  315.          translate < 19.838910  0.637570  0.000000>
  316.       texture {
  317.          YourTexture
  318.       }
  319.    }
  320.    object {
  321.          Dot
  322.          scale     < 5.750000  5.750000  5.750000>
  323.          translate < 21.200120  0.000900  0.000000>
  324.       texture {
  325.          YourTexture
  326.       }
  327.    }
  328.    object {
  329.          Dot
  330.          scale     < 5.500000  5.500000  5.500000>
  331.          translate < 22.535790 -0.687730  0.000000>
  332.       texture {
  333.          YourTexture
  334.       }
  335.    }
  336.    object {
  337.          Dot
  338.          scale     < 5.250000  5.250000  5.250000>
  339.          translate < 23.843940 -1.427310  0.000000>
  340.       texture {
  341.          YourTexture
  342.       }
  343.    }
  344.    object {
  345.          Dot
  346.          scale     < 5.000000  5.000000  5.000000>
  347.          translate < 25.122620 -2.216740  0.000000>
  348.       texture {
  349.          YourTexture
  350.       }
  351.    }
  352.    object {
  353.          Dot
  354.          scale     < 4.750000  4.750000  4.750000>
  355.          translate < 26.369940 -3.054850  0.000000>
  356.       texture {
  357.          YourTexture
  358.       }
  359.    }
  360.    object {
  361.          Dot
  362.          scale     < 4.500000  4.500000  4.500000>
  363.          translate < 27.584050 -3.940380  0.000000>
  364.       texture {
  365.          YourTexture
  366.       }
  367.    }
  368. }
  369.  
  370. #declare YourThing5 =
  371. union {
  372.    object {
  373.          Dot
  374.          scale     < 4.250000  4.250000  4.250000>
  375.          translate < 28.763140 -4.872040  0.000000>
  376.       texture {
  377.          YourTexture
  378.       }
  379.    }
  380.    object {
  381.          Dot
  382.          scale     < 4.000000  4.000000  4.000000>
  383.          translate < 29.905460 -5.848430  0.000000>
  384.       texture {
  385.          YourTexture
  386.       }
  387.    }
  388.    object {
  389.          Dot
  390.          scale     < 3.750000  3.750000  3.750000>
  391.          translate < 31.009320 -6.868100  0.000000>
  392.       texture {
  393.          YourTexture
  394.       }
  395.    }
  396.    object {
  397.          Dot
  398.          scale     < 3.500000  3.500000  3.500000>
  399.          translate < 32.073070 -7.929540  0.000000>
  400.       texture {
  401.          YourTexture
  402.       }
  403.    }
  404.    object {
  405.          Dot
  406.          scale     < 3.775000  3.775000  3.775000>
  407.          translate < 30.657990 -7.043180  0.000000>
  408.       texture {
  409.          YourTexture
  410.       }
  411.    }
  412.    object {
  413.          Dot
  414.          scale     < 4.050000  4.050000  4.050000>
  415.          translate < 29.205690 -6.219210  0.000000>
  416.       texture {
  417.          YourTexture
  418.       }
  419.    }
  420.    object {
  421.          Dot
  422.          scale     < 4.325000  4.325000  4.325000>
  423.          translate < 27.718920 -5.459210  0.000000>
  424.       texture {
  425.          YourTexture
  426.       }
  427.    }
  428.    object {
  429.          Dot
  430.          scale     < 4.600000  4.600000  4.600000>
  431.          translate < 26.200500 -4.764600  0.000000>
  432.       texture {
  433.          YourTexture
  434.       }
  435.    }
  436.    object {
  437.          Dot
  438.          scale     < 4.875000  4.875000  4.875000>
  439.          translate < 24.653290 -4.136700  0.000000>
  440.       texture {
  441.          YourTexture
  442.       }
  443.    }
  444.    object {
  445.          Dot
  446.          scale     < 5.150000  5.150000  5.150000>
  447.          translate < 23.080240 -3.576700  0.000000>
  448.       texture {
  449.          YourTexture
  450.       }
  451.    }
  452. }
  453.  
  454. #declare YourThing6 =
  455. union {
  456.    object {
  457.          Dot
  458.          scale     < 5.425000  5.425000  5.425000>
  459.          translate < 21.484310 -3.085670  0.000000>
  460.       texture {
  461.          YourTexture
  462.       }
  463.    }
  464.    object {
  465.          Dot
  466.          scale     < 5.700000  5.700000  5.700000>
  467.          translate < 19.868540 -2.664520  0.000000>
  468.       texture {
  469.          YourTexture
  470.       }
  471.    }
  472.    object {
  473.          Dot
  474.          scale     < 5.975000  5.975000  5.975000>
  475.          translate < 18.235970 -2.314070  0.000000>
  476.       texture {
  477.          YourTexture
  478.       }
  479.    }
  480.    object {
  481.          Dot
  482.          scale     < 6.250000  6.250000  6.250000>
  483.          translate < 16.589700 -2.034960  0.000000>
  484.       texture {
  485.          YourTexture
  486.       }
  487.    }
  488.    object {
  489.          Dot
  490.          scale     < 6.525000  6.525000  6.525000>
  491.          translate < 14.932850 -1.827740  0.000000>
  492.       texture {
  493.          YourTexture
  494.       }
  495.    }
  496.    object {
  497.          Dot
  498.          scale     < 6.800000  6.800000  6.800000>
  499.          translate < 13.268560 -1.692790  0.000000>
  500.       texture {
  501.          YourTexture
  502.       }
  503.    }
  504.    object {
  505.          Dot
  506.          scale     < 7.075000  7.075000  7.075000>
  507.          translate < 11.599970 -1.630370  0.000000>
  508.       texture {
  509.          YourTexture
  510.       }
  511.    }
  512.    object {
  513.          Dot
  514.          scale     < 7.350000  7.350000  7.350000>
  515.          translate < 9.930240 -1.640590  0.000000>
  516.       texture {
  517.          YourTexture
  518.       }
  519.    }
  520.    object {
  521.          Dot
  522.          scale     < 7.625000  7.625000  7.625000>
  523.          translate < 8.262540 -1.723440  0.000000>
  524.       texture {
  525.          YourTexture
  526.       }
  527.    }
  528.    object {
  529.          Dot
  530.          scale     < 7.900000  7.900000  7.900000>
  531.          translate < 6.600020 -1.878760  0.000000>
  532.       texture {
  533.          YourTexture
  534.       }
  535.    }
  536.    object {
  537.          Dot
  538.          scale     < 8.175000  8.175000  8.175000>
  539.          translate < 4.945830 -2.106260  0.000000>
  540.       texture {
  541.          YourTexture
  542.       }
  543.    }
  544. }
  545.  
  546. #declare YourThing7 =
  547. union {
  548.    object {
  549.          Dot
  550.          scale     < 8.450000  8.450000  8.450000>
  551.          translate < 3.303100 -2.405500  0.000000>
  552.       texture {
  553.          YourTexture
  554.       }
  555.    }
  556.    object {
  557.          Dot
  558.          scale     < 8.725000  8.725000  8.725000>
  559.          translate < 1.674950 -2.775920  0.000000>
  560.       texture {
  561.          YourTexture
  562.       }
  563.    }
  564.    object {
  565.          Dot
  566.          scale     < 9.000000  9.000000  9.000000>
  567.          translate < 0.064450 -3.216820  0.000000>
  568.       texture {
  569.          YourTexture
  570.       }
  571.    }
  572.    object {
  573.          Dot
  574.          scale     < 9.571430  9.571430  9.571430>
  575.          translate <-2.337010 -4.575770  0.000000>
  576.       texture {
  577.          YourTexture
  578.       }
  579.    }
  580.    object {
  581.          Dot
  582.          scale     < 10.142860  10.142860  10.142860>
  583.          translate <-4.935990 -5.502660  0.000000>
  584.       texture {
  585.          YourTexture
  586.       }
  587.    }
  588.    object {
  589.          Dot
  590.          scale     < 10.714280  10.714280  10.714280>
  591.          translate <-7.655430 -5.969990  0.000000>
  592.       texture {
  593.          YourTexture
  594.       }
  595.    }
  596.    object {
  597.          Dot
  598.          scale     < 11.285710  11.285710  11.285710>
  599.          translate <-10.414730 -5.963930  0.000000>
  600.       texture {
  601.          YourTexture
  602.       }
  603.    }
  604.    object {
  605.          Dot
  606.          scale     < 11.857140  11.857140  11.857140>
  607.          translate <-13.132100 -5.484650  0.000000>
  608.       texture {
  609.          YourTexture
  610.       }
  611.    }
  612.    object {
  613.          Dot
  614.          scale     < 12.428570  12.428570  12.428570>
  615.          translate <-15.726970 -4.546350  0.000000>
  616.       texture {
  617.          YourTexture
  618.       }
  619.    }
  620.    object {
  621.          Dot
  622.          scale     < 13.000000  13.000000  13.000000>
  623.          translate <-18.122440 -3.176860  0.000000>
  624.       texture {
  625.          YourTexture
  626.       }
  627.    }
  628. }
  629.  
  630. /*----------- COMBINES BODY SECTION IN ONE COMPOSITE ----*/
  631. #declare fish_body =
  632. union {
  633.    object { YourThing1  }
  634.    object { YourThing3  }
  635.    object { YourThing4  }
  636.    object { YourThing5  }
  637.    object { YourThing6  }
  638.    object { YourThing7  }
  639. }
  640.  
  641. /*----------- ENDS BODY ------------------------------*/
  642.  
  643. // ----------- 2 lower dangling fins
  644.  
  645.  
  646. #declare spike1 =
  647. union {
  648.    object {
  649.          Dot
  650.          scale     < 0.100000  0.100000  0.100000>
  651.          translate <-5.000000 -7.000010  5.000000>
  652.       texture {
  653.          YourTexture
  654.       }
  655.    }
  656.  
  657.    object {
  658.          Connector_2
  659.       clipped_by {
  660.          plane {     < 1.000000  0.000000  0.000000>  0.279490  }
  661.          plane {     < 1.000000  0.000000  0.000000>  0.099818 inverse  }
  662.       }
  663.       translate <-0.099818  0.000000  0.000000>
  664.       scale     < 16.543659  1.000000  1.000000>
  665.       translate < 0.006034  0.000000  0.000000>
  666.       rotate    < 0.000000  0.000000  69.224366>
  667.       rotate    < 0.000000  109.091249  0.000000>
  668.       translate <-5.000000 -7.000010  5.000000>
  669.       texture {
  670.          YourTexture
  671.       }
  672.  
  673.    }
  674.    object {
  675.          Dot
  676.          scale     < 0.280000  0.280000  0.280000>
  677.          translate <-5.346110 -4.210700  4.000000>
  678.       texture {
  679.          YourTexture
  680.       }
  681.    }
  682.  
  683.    object {
  684.          Connector_2
  685.       clipped_by {
  686.          plane {     < 1.000000  0.000000  0.000000>  0.459162  }
  687.          plane {     < 1.000000  0.000000  0.000000>  0.279490 inverse  }
  688.       }
  689.       translate <-0.279490  0.000000  0.000000>
  690.       scale     < 16.543617  1.000000  1.000000>
  691.       translate < 0.016894  0.000000  0.000000>
  692.       rotate    < 0.000000  0.000000  70.110802>
  693.       rotate    < 0.000000  99.836716  0.000000>
  694.       translate <-5.346110 -4.210700  4.000000>
  695.       texture {
  696.          YourTexture
  697.       }
  698.  
  699.    }
  700.    object {
  701.          Dot
  702.          scale     < 0.460000  0.460000  0.460000>
  703.          translate <-5.519500 -1.405360  3.000000>
  704.       texture {
  705.          YourTexture
  706.       }
  707.    }
  708.  
  709.    object {
  710.          Connector_2 
  711.       clipped_by {
  712.          plane {     < 1.000000  0.000000  0.000000>  0.638834  }
  713.          plane {     < 1.000000  0.000000  0.000000>  0.459162 inverse  }
  714.       }
  715.       translate <-0.459162  0.000000  0.000000>
  716.       scale     < 16.543652  1.000000  1.000000>
  717.       translate < 0.027755  0.000000  0.000000>
  718.       rotate    < 0.000000  0.000000  70.415293>
  719.       rotate    < 0.000000  90.000000  0.000000>
  720.       translate <-5.519500 -1.405360  3.000000>
  721.       texture {
  722.          YourTexture
  723.       }
  724.    }
  725.  
  726.    object {
  727.          Dot
  728.          scale     < 0.640000  0.640000  0.640000>
  729.          translate <-5.519500  1.405340  2.000000>
  730.       texture {
  731.          YourTexture
  732.       }
  733.    }
  734.  
  735.    object {
  736.          Connector_2 
  737.       clipped_by {
  738.          plane {     < 1.000000  0.000000  0.000000>  0.818506  }
  739.          plane {     < 1.000000  0.000000  0.000000>  0.638834 inverse  }
  740.       }
  741.       translate <-0.638834  0.000000  0.000000>
  742.       scale     < 16.543666  1.000000  1.000000>
  743.       translate < 0.038615  0.000000  0.000000>
  744.       rotate    < 0.000000  0.000000  70.110898>
  745.       rotate    < 0.000000  80.163840  0.000000>
  746.       translate <-5.519500  1.405340  2.000000>
  747.       texture {
  748.          YourTexture
  749.       }
  750.  
  751.    }
  752.    object {
  753.          Dot
  754.          scale     < 0.820000  0.820000  0.820000>
  755.          translate <-5.346120  4.210690  1.000000>
  756.       texture {
  757.          YourTexture
  758.       }
  759.    }
  760.  
  761.    object {
  762.          Connector_2
  763.       clipped_by {
  764.          plane {     < 1.000000  0.000000  0.000000>  0.998178  }
  765.          plane {     < 1.000000  0.000000  0.000000>  0.818506 inverse  }
  766.       }
  767.       translate <-0.818506  0.000000  0.000000>
  768.       scale     < 16.543614  1.000000  1.000000>
  769.       translate < 0.049476  0.000000  0.000000>
  770.       rotate    < 0.000000  0.000000  69.224239>
  771.       rotate    < 0.000000  70.908240  0.000000>
  772.       translate <-5.346120  4.210690  1.000000>
  773.       texture {
  774.          YourTexture
  775.       }
  776.    }
  777.  
  778.    object {
  779.          Dot
  780.          translate <-5.000000  6.999990  0.000000>
  781.       texture {
  782.          YourTexture
  783.       }
  784.    }
  785.  
  786. }
  787.  
  788. #declare spike2 =
  789. union {
  790.    object {
  791.       Connector_1
  792.       scale     < 10.000000  1.000000  1.000000>
  793.       rotate    < 0.000000  0.000000  0.000057>
  794.       translate <-5.000000  6.999990  0.000000>
  795.       texture {
  796.          YourTexture
  797.       }
  798.    }
  799.  
  800.    object {
  801.          Dot
  802.          translate < 5.000000  7.000000  0.000000>
  803.       texture {
  804.          YourTexture
  805.       }
  806.    }
  807.  
  808.    object {
  809.          Connector_2
  810.       clipped_by {
  811.          plane {     < 1.000000  0.000000  0.000000>  0.998178  }
  812.          plane {     < 1.000000  0.000000  0.000000>  0.818506 inverse  }
  813.       }
  814.       translate <-0.998178  0.000000  0.000000>
  815.       scale     < 16.543666  1.000000  1.000000>
  816.       translate <-0.060336  0.000000  0.000000>
  817.       rotate    < 0.000000  180.000000  0.000000>
  818.       rotate    < 0.000000  0.000000 -69.224308>
  819.       rotate    < 0.000000 -70.908240  0.000000>
  820.       translate < 5.000000  7.000000  0.000000>
  821.       texture {
  822.          YourTexture
  823.       }
  824.    }
  825.  
  826.    object {
  827.          Dot
  828.          scale     < 0.820000  0.820000  0.820000>
  829.          translate < 5.346120  4.210690  1.000000>
  830.       texture {
  831.          YourTexture
  832.       }
  833.    }
  834.  
  835.    object {
  836.          Connector_2
  837.       clipped_by {
  838.          plane {     < 1.000000  0.000000  0.000000>  0.818506  }
  839.          plane {     < 1.000000  0.000000  0.000000>  0.638834 inverse  }
  840.       }
  841.       translate <-0.818506  0.000000  0.000000>
  842.       scale     < 16.543666  1.000000  1.000000>
  843.       translate <-0.049475  0.000000  0.000000>
  844.       rotate    < 0.000000  180.000000  0.000000>
  845.       rotate    < 0.000000  0.000000 -70.110898>
  846.       rotate    < 0.000000 -80.163840  0.000000>
  847.       translate < 5.346120  4.210690  1.000000>
  848.       texture {
  849.          YourTexture
  850.       }
  851.    }
  852.  
  853.    object {
  854.          Dot
  855.          scale     < 0.640000  0.640000  0.640000>
  856.          translate < 5.519500  1.405340  2.000000>
  857.       texture {
  858.          YourTexture
  859.       }
  860.    }
  861.  
  862.    object {
  863.          Connector_2
  864.       clipped_by {
  865.          plane {     < 1.000000  0.000000  0.000000>  0.638834  }
  866.          plane {     < 1.000000  0.000000  0.000000>  0.459162 inverse  }
  867.       }
  868.       translate <-0.638834  0.000000  0.000000>
  869.       scale     < 16.543652  1.000000  1.000000>
  870.       translate <-0.038615  0.000000  0.000000>
  871.       rotate    < 0.000000  180.000000  0.000000>
  872.       rotate    < 0.000000  0.000000 -70.415293>
  873.       rotate    < 0.000000 -90.000000  0.000000>
  874.       translate < 5.519500  1.405340  2.000000>
  875.       texture {
  876.          YourTexture
  877.       }
  878.    }
  879.  
  880.    object {
  881.          Dot
  882.          scale     < 0.460000  0.460000  0.460000>
  883.          translate < 5.519500 -1.405360  3.000000>
  884.       texture {
  885.          YourTexture
  886.       }
  887.    }
  888.  
  889.    object {
  890.          Connector_2
  891.       clipped_by {
  892.          plane {     < 1.000000  0.000000  0.000000>  0.459162  }
  893.          plane {     < 1.000000  0.000000  0.000000>  0.279490 inverse  }
  894.       }
  895.       translate <-0.459162  0.000000  0.000000>
  896.       scale     < 16.543617  1.000000  1.000000>
  897.       translate <-0.027755  0.000000  0.000000>
  898.       rotate    < 0.000000  180.000000  0.000000>
  899.       rotate    < 0.000000  0.000000 -70.110802>
  900.       rotate    < 0.000000 -99.836716  0.000000>
  901.       translate < 5.519500 -1.405360  3.000000>
  902.       texture {
  903.          YourTexture
  904.       }
  905.    }
  906.  
  907.    object {
  908.          Dot
  909.          scale     < 0.280000  0.280000  0.280000>
  910.          translate < 5.346110 -4.210700  4.000000>
  911.       texture {
  912.          YourTexture
  913.       }
  914.    }
  915.  
  916.    object {
  917.          Connector_2
  918.       clipped_by {
  919.          plane {     < 1.000000  0.000000  0.000000>  0.279490  }
  920.          plane {     < 1.000000  0.000000  0.000000>  0.099818 inverse  }
  921.       }
  922.       translate <-0.279490  0.000000  0.000000>
  923.       scale     < 16.543659  1.000000  1.000000>
  924.       translate <-0.016894  0.000000  0.000000>
  925.       rotate    < 0.000000  180.000000  0.000000>
  926.       rotate    < 0.000000  0.000000 -69.224366>
  927.       rotate    < 0.000000 -109.091249  0.000000>
  928.       translate < 5.346110 -4.210700  4.000000>
  929.       texture {
  930.          YourTexture
  931.       }
  932.    }
  933.  
  934.    object {
  935.          Dot
  936.          scale     < 0.100000  0.100000  0.100000>
  937.          translate < 5.000000 -7.000010  5.000000>
  938.       texture {
  939.          YourTexture
  940.       }
  941.    }
  942.  
  943. }
  944.  
  945. /*-------------- COMBINE SPIKE -----------------------*/
  946. #declare l_fin = 
  947. union {
  948.    object { spike1  }
  949.    object { spike2  }
  950. }
  951.  
  952.  
  953.  
  954. //**************************************************************
  955. //----------------- Bass Fins...Spiked fingers, bloody fingers
  956.  
  957.  
  958.  
  959. /*-------------- MAKE POINTS --------------------------------*/
  960. #declare bf1 =
  961. object {
  962.       Connector_2
  963.    clipped_by {
  964.       plane {     < 1.000000  0.000000  0.000000>  0.995942  }
  965.       plane {     < 1.000000  0.000000  0.000000>  0.099594 inverse  }
  966.    }
  967.    translate <-0.995942  0.000000  0.000000>
  968.    scale     < 11.066020  1.000000  1.000000>
  969.    translate <-0.090000  0.000000  0.000000>
  970.    rotate    < 0.000000  180.000000  0.000000>
  971.    rotate    < 0.000000  0.000000  90.000000>
  972.    texture {
  973.       YourTexture
  974.    }
  975.  
  976. }
  977.  
  978. #declare bf2 =
  979. object {
  980.       Connector_2
  981.    clipped_by {
  982.       plane {     < 1.000000  0.000000  0.000000>  0.997018  }
  983.       plane {     < 1.000000  0.000000  0.000000>  0.099702 inverse  }
  984.    }
  985.    translate <-0.997018  0.000000  0.000000>
  986.    scale     < 12.919026  1.000000  1.000000>
  987.    translate <-0.077174  0.000000  0.000000>
  988.    rotate    < 0.000000  180.000000  0.000000>
  989.    rotate    < 0.000000  0.000000  59.036243>
  990.    translate < 3.000000  1.000000  0.000000>
  991.    texture {
  992.       YourTexture
  993.    }
  994.  
  995. }
  996.  
  997. #declare bf3 =
  998. object {
  999.       Connector_2
  1000.    clipped_by {
  1001.       plane {     < 1.000000  0.000000  0.000000>  0.995439  }
  1002.       plane {     < 1.000000  0.000000  0.000000>  0.099544 inverse  }
  1003.    }
  1004.    translate <-0.995439  0.000000  0.000000>
  1005.    scale     < 10.434392  1.000000  1.000000>
  1006.    translate <-0.095400  0.000000  0.000000>
  1007.    rotate    < 0.000000  180.000000  0.000000>
  1008.    rotate    < 0.000000  0.000000  57.994617>
  1009.    translate < 9.000000  2.000000  0.000000>
  1010.    texture {
  1011.       YourTexture
  1012.    }
  1013.  
  1014. }
  1015.  
  1016. #declare bf4 =
  1017. object {
  1018.       Connector_2
  1019.    clipped_by {
  1020.       plane {     < 1.000000  0.000000  0.000000>  0.993750  }
  1021.       plane {     < 1.000000  0.000000  0.000000>  0.099375 inverse  }
  1022.    }
  1023.    translate <-0.993750  0.000000  0.000000>
  1024.    scale     < 8.902074  1.000000  1.000000>
  1025.    translate <-0.111631  0.000000  0.000000>
  1026.    rotate    < 0.000000  180.000000  0.000000>
  1027.    rotate    < 0.000000  0.000000  60.255119>
  1028.    translate < 13.000000  2.000000  0.000000>
  1029.    texture {
  1030.       YourTexture
  1031.    }
  1032.  
  1033. }
  1034.  
  1035. #declare bf5 =
  1036. object {
  1037.       Connector_2
  1038.    clipped_by {
  1039.       plane {     < 1.000000  0.000000  0.000000>  0.993338  }
  1040.       plane {     < 1.000000  0.000000  0.000000>  0.099334 inverse  }
  1041.    }
  1042.    translate <-0.993338  0.000000  0.000000>
  1043.    scale     < 8.620246  1.000000  1.000000>
  1044.    translate <-0.115233  0.000000  0.000000>
  1045.    rotate    < 0.000000  180.000000  0.000000>
  1046.    rotate    < 0.000000  0.000000  50.194429>
  1047.    translate < 17.000000  2.000000  0.000000>
  1048.    texture {
  1049.       YourTexture
  1050.    }
  1051.  
  1052. }
  1053.  
  1054. #declare bf6 =
  1055. object {
  1056.       Connector_2
  1057.    clipped_by {
  1058.       plane {     < 1.000000  0.000000  0.000000>  0.994512  }
  1059.       plane {     < 1.000000  0.000000  0.000000>  0.099451 inverse  }
  1060.    }
  1061.    translate <-0.994512  0.000000  0.000000>
  1062.    scale     < 9.505684  1.000000  1.000000>
  1063.    translate <-0.104623  0.000000  0.000000>
  1064.    rotate    < 0.000000  180.000000  0.000000>
  1065.    rotate    < 0.000000  0.000000  35.537678>
  1066.    translate < 20.000000  2.000000  0.000000>
  1067.    texture {
  1068.       YourTexture
  1069.    }
  1070.  
  1071. }
  1072.  
  1073. #declare bf7 =
  1074. object {
  1075.       Connector_2
  1076.    clipped_by {
  1077.       plane {     < 1.000000  0.000000  0.000000>  0.992993  }
  1078.       plane {     < 1.000000  0.000000  0.000000>  0.099299 inverse  }
  1079.    }
  1080.    translate <-0.992993  0.000000  0.000000>
  1081.    scale     < 8.402674  1.000000  1.000000>
  1082.    translate <-0.118176  0.000000  0.000000>
  1083.    rotate    < 0.000000  180.000000  0.000000>
  1084.    rotate    < 0.000000  0.000000  23.198591>
  1085.    translate < 23.000000  1.000000  0.000000>
  1086.    texture {
  1087.       YourTexture
  1088.    }
  1089.  
  1090. }
  1091.  
  1092. /*-------------------- COMBINE ALL SPIKES ---------------*/
  1093. #declare pnts = 
  1094. union {
  1095.    object { bf1  }
  1096.    object { bf2  }
  1097.    object { bf3  }      
  1098.    object { bf4  }
  1099.    object { bf5  }
  1100.    object { bf6  }
  1101.    object { bf7  }
  1102.  
  1103. }
  1104.  
  1105.  
  1106.  
  1107. /*------------ THIN SKIN BETWEEN THE SPIKES------------------------------------*/
  1108. #declare fin_skin =
  1109. object {
  1110.    difference {
  1111.       intersection { Cube scale <15 5 0.1> translate <15 5 0>  }
  1112.       object { Cylinder_Z scale <4 6 1> rotate <0 0 -32> translate <5 12 0>  }
  1113.       object { Cylinder_Z scale <2.5 3.5 1> rotate <0 0 -32> translate <11.5 11 0>  }
  1114.       object { Cylinder_Z scale <1.6 2.5 1> rotate <0 0 -31> translate <15.5 10 0>  }
  1115.       object { Cylinder_Z scale <2.5 3.5 1> rotate <0 0 -38> translate <20 9.5 0>  }
  1116.       object { Cylinder_Z scale <3 4.1 1> rotate <0 0 -40> translate <26 10 0>  }
  1117.       object { Cylinder_Z scale <3 4.5 1> rotate <0 0 -51> translate <30.5 7.5 0>  }
  1118.       object { Cylinder_Z scale <3 4 1> rotate <0 0 -39> translate <32 2 0>  }
  1119.    }
  1120.    texture { YourTexture  }
  1121. }
  1122.  
  1123. #declare fin = union {
  1124.    object { pnts  }
  1125.    object { fin_skin  }
  1126. }
  1127.  
  1128.  
  1129. #declare tail = object {
  1130.    difference {
  1131.       union {
  1132.          object { Ellipsoid scale <10 5 0.5> rotate <0 0 -14> translate <9 -4 0>  }
  1133.          object { Ellipsoid scale <10 5 0.5> rotate <0 0 -52> translate <7 -8 0>  }
  1134.       }
  1135.       plane { <0 1 0> 0 rotate <0 0 53> translate <14 -9 0>  }
  1136.    }
  1137.  
  1138. }
  1139.  
  1140.  
  1141. //------------ upper lip
  1142.  
  1143. #declare u_lip = object {
  1144.    difference {
  1145.       object { Ellipsoid scale <11 11 11>  }
  1146.       object { Ellipsoid scale <10 18 20> rotate <0 0 30> translate <-9 -6 0>  }
  1147.       plane { <0 1 0> 0 rotate <0 0 -48> translate <1.6 0 0> inverse  }
  1148.    }
  1149. }
  1150.  
  1151.  
  1152.  
  1153. /*--------------- GLASS FISH EYE --------------*/
  1154. #declare eye = union {
  1155.    //-------------- extra skin around eye
  1156.    object { Ellipsoid scale <5 5 3>
  1157.       texture { YourTexture  }
  1158.    }
  1159.    //-------------- color pupil
  1160.    sphere { 0, 4
  1161.       texture {
  1162.          image_map { <1 -1 0> gif "fisheye.gif"  }
  1163.          scale <8 8 1> translate <-4 -4 -1>
  1164.          ambient 0.2 phong 1.0
  1165.       }
  1166.    }
  1167.    //-------------- glass sphere {
  1168.    sphere { 0, 5 texture { T_Glass1 } }
  1169. }
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175. /*------ BUILD THE FISH---------------*/
  1176.  
  1177. #declare fish = union {
  1178.    object { fish_body scale <1 1 0.6>   }
  1179.    object { eye translate <-26 -2 -4>  }
  1180.    object { eye translate <-26 -2 4>  }
  1181.    object { pnts scale <1.3 1.7 0.4> translate <-17 7 0>  }
  1182.    object { fin_skin scale <1.3 1.7 0.4> translate <-17 7 0> texture { YourTexture  }  }
  1183.    object { fin scale <0.7 1 0.7> rotate <180 0 0> rotate <0 0 20> translate <-6 -10 0>  }
  1184.    object { l_fin rotate <0 90 0> scale <1 1 1> translate <-14 -20 0>  }
  1185.    object { tail translate <33 -8 0> texture { YourTexture } }
  1186.    object { u_lip rotate <0 0 5> scale <1 0.96  0.65 > translate <-32 -8.5 0> texture { YourTexture } }
  1187.  
  1188. }
  1189.  
  1190. #version Fish_Inc_Temp
  1191.